package rkdwogus7.basic;

public class J05_Patterns {

	public static void main(String[] args) {
		// 반복문을 이용해서 다양한 패턴 출력하기
		// 패턴1 - 테스트1
//		System.out.println( "1 2 3 4 5 6" );
//		System.out.println( "1 2 3 4 5 6" );
//		System.out.println( "1 2 3 4 5 6" );
//		System.out.println( "1 2 3 4 5 6" );
//		System.out.println( "1 2 3 4 5 6" );
//		System.out.println( "1 2 3 4 5 6" );
		
//		int i = 1;
//		while( i <= 6) {
//			System.out.print(i + " ");
//			++i;
//		}                            // : 이것을 6번 반복
		
//		int i = 1;	int j = 1;
//		while(j <= 6) {			//	행 row 레코드
//			while( i <= 6) {	// 열 column 필드
//				System.out.print(i + " ");
//				++i;
//			}
//			i = 1;
//			System.out.println();
//			++j;
//		}
// 여기까지 하면 1 2 3 4 5 6이 6번 나오게 되겠지	
		
		int i = 1;	int j = 1;
		while(j <= 6) {			//	행 row 레코드
			while( i <= j) {	// 열 column 필드
				System.out.print(i + " ");
				++i;
			}
			i = 1;
			System.out.println("");
			++j;
		}
		// Patter I
		System.out.println( "\n" );
		
//		i = 1;
//			while( i <= 6) {
//				System.out.print(i + " ");
//				++i;
//			}
		
		i = 1;	j = 6;
		while(j >= 1) {			//	행 row 레코드
			while( i <= j) {	// 열 column 필드
				System.out.print(i + " ");
				++i;
			}
			i = 1;
			System.out.println("");
			--j;
		}
		// Pattern II
		System.out.println( "\n" );
		
//		i = 1;
//		while( i <= 6) {
//			if (i != 6)
//			System.out.print( "[ ]" );
//			else
//			System.out.print( "[" + i + "]" );
//			++i;
//		}
// 이번에는 맨 뒤에 숫자가 나오지. 앞에 빈칸이 나오고
//		i = 1;
//		while( i <= 6) {
//			if (i != 6)
//			System.out.print( "  " );
//			else
//			System.out.print( i );
//			++i;
//		}
// 자 이번에는 마지막에 6이 나왔지? 이걸 뒤집어야 하잖아.
		i = 6; j = 1;
		while(j <= 6) {
		while( i >= 1) {
//			if (i != 1)  // : 이건 단일값을 찍는거고
			if (i > j)
			System.out.print( "  " );
			else
			System.out.print( i + " " );
			i--;
			}
		i = 6;
		System.out.println("");
		j++;
		
		}
		
		System.out.println( "\n" );
		
		// Pattern III
		
//		i = 1; j = 6;
//		while(j >= 1) {
//		while( i <= 6) {
//			if (i > j)
//			System.out.print( "  " );
//			else
//			System.out.print( i + " " );
//			i++;
//			}
//		i = 1;
//		System.out.println();
//		j--;
//		
//		}
//		
//		System.out.println( "\n" );
		
		System.out.println( "\n" );
		
		// Pattern IV
		
		// Pattern IV for문으로
		
		for(int m = 1; m <= 6; ++m) {
			for(int k = 1; k <= 6; ++k) {
				if ( k >= m )
					System.out.print( (k - ( m - 1 ) ) + " " );
				else
					System.out.print( "  " );
			}
			System.out.println("");
		}
		// 원리를 모르겠으면 외우기라도 해 봐.
		

		
		
		
		
		
//		i = 1; j = 6;
//		
//		while(j <= 1) 
//		{
//			while(i <= 6) 
//			{
//				System.out.print(i + " ");
//				i++;
//			}
//			System.out.println( j );
//			
//			i = 1;
//			j--;
//		}
		
		
		
		
		
//		int i = 1;
//		int j = 1;
//		
//		while(i <= 6) {
//			while(i >= j) {
//				System.out.print( j );
//				j++;
//				}
//			System.out.println( );
//			j = 1;
//			i++;
//		}
//		// Pattern 1
//
//		i = 6;	j = 1;
//		
//		while(i >= 1) {
//		while(i >= j) {
//			System.out.print( j );
//			j++;
//		}
//		System.out.println();
//		j = 1;
//		i--;
//		}
//		// Pattern 2
//		
//		// " "로 5개, 4개, 3개, 2개, 1개 순으로 줄어들고
//		// 숫자는 1, 2 1, 3 2 1, 순으로 역으로 줄고
//		// 개행이 필요하니까 while문 밖에서 한 줄씩 내려주면 되나
// 여긴 내가 한 것. 잘 모르는 사람은 123456으로 쫙 찍게 해 보면 돼.		
		
		
	}

 }
